package com.test.javafaq_sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.test.javafaq_commons.entity.Permission;
import com.test.javafaq_commons.entity.Role;
import com.test.javafaq_commons.entity.User;
import com.test.javafaq_sys.vo.RegisterVo;
import com.test.javafaq_sys.vo.UserVo;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author test.com
 * @since 2025-04-11
 */
public interface IUserService extends IService<User> {


    //根据用户名获取用户对象
    User getUserByUsername(String username);

    List<Permission> getUserPermissions(Integer userId);

    List<Role> getUserRoles(Integer userId);

    //用户面板信息获取
    //UserVo currentUserVo();
    //用户查询面板信息
    UserVo currentUserVo(String username);

    //查询所有老师的map格式
    Map<String,User> getTeachersMap();

    //查询所有回答问题的教师
    List<User> getTeachers();

    //获取当前用户的方法
    String currentUsername();

    //注册学生的方法
    void registerStudent(RegisterVo registerVo);

    //根据用户名获得用户认证信息
    UserDetails getUserDetails(String username);

}
